package com.indexingsystem.system.service;


import com.indexingsystem.boss.Vo.*;
import com.indexingsystem.boss.common.PagedResult;
import com.indexingsystem.boss.entity.IdxProducts;
import com.indexingsystem.boss.entity.IdxTask;
import com.indexingsystem.boss.entity.IdxTaskWithBLOBs;

import java.util.List;

public interface IdxTaskService {
    int deleteByPrimaryKey(Integer taskId);

    int insert(IdxTaskWithBLOBs record);

    int insertSelective(IdxTaskWithBLOBs record);

    IdxTaskWithBLOBs selectByPrimaryKey(Integer taskId);

    int updateByPrimaryKeySelective(IdxTaskWithBLOBs record);

    int updateByPrimaryKeyWithBLOBs(IdxTaskWithBLOBs record);

    int updateByPrimaryKey(IdxTask record);

    List<IdxTaskWithBLOBs> selectTaskByParentId(Integer parentId);

    Integer updateTaskArrchildIdByParentId(Integer taskId, Integer parentId);


    PagedResult<TaskProductListVo> getTasksList(TaskProductListReqVo taskProductListReqVo);

    Integer getTasksListCount(TaskProductListReqVo taskProductListReqVo);

    List<IdxTaskWithBLOBs> getTaskById(Integer valueOf);

    Integer getParentIdByTaskId(Integer taskId);

    Integer deleteByIdBatch(List<String> list);

    Integer updateTaskById(List<String> list);

    PagedResult<IdxTaskWithBLOBs> getUnFinishedTaskList(TaskListReqVo reqVo);

    List<String> getArrchildidsByTaskId(Integer taskId);

    Integer updateCompleteStatusByIdBatch(Integer status, List<String> ids);

    PagedResult<IdxProducts> getUnassignProducts(TaskProductAddReqVo reqVo);

    PagedResult<TaskProductListResVo> getCheckTasksList(TaskProductListReqVo reqVo);

    Integer selectCountByTaskIdAndStatus(TaskProductAddReqVo reqVo);

    List<String> mixedList(List<String> list1);

    List<String> getTopTaskIds();



}
